from tkinter import *
from cell import Cell
import settings
import utils

root = Tk()  # create window

# настройки окна
root.configure(bg='black')  # цвет фона
root.geometry(f'{settings.WIDTH}x{settings.HEIGHT}')  # размер окна
root.title('saper')  # заголовок окна
root.resizable(False, False)  # блокировка масштабируемости окна

# верхняя рамка
top_frame = Frame(  # frame - рамка, кадр, каркас.
    # новое 'окно' которое будет находиться в главном окне
    root,
    bg='black',
    width=settings.WIDTH,
    height=utils.height_perct(25)
)
# определяем место рамки top_frame по осям x(длинна) и y(ширина)
top_frame.place(x=0, y=0)

game_title = Label(
    top_frame,
    bg='black',
    fg='white',
    text='Сапёр',
    font=('', 45)
)

game_title.place(
    x=utils.width_perct(40),
    y=utils.height_perct(0)
)


# левая рамка
left_frame = Frame(
    root,
    bg='black',
    width=utils.width_perct(25),
    height=utils.height_perct(75)
)
left_frame.place(x=0, y=utils.height_perct(25))

# основная рамка
center_frame = Frame(
    root,
    bg='black',
    width=utils.width_perct(75),
    height=utils.height_perct(75)
)
center_frame.place(
    x=utils.width_perct(25),
    y=utils.height_perct(25)
)

# создаём сетку ячеек-кнопок
for x in range(settings.GRID_SIZE):
    for y in range(settings.GRID_SIZE):
        c = Cell(x, y)
        c.create_btn_object(center_frame)
        c.cell_btn_object.grid(column=x, row=y)

# вызываем виджет-лейбл-счётчик из класса ячейки в левой части
Cell.create_cell_object_label(left_frame)
Cell.cell_count_label_object.place(x=0, y=0)


Cell.randomize_mines()

root.mainloop()  # старт окна
